<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise.race和promise.all</title>
</head>
<body>
    <script>

        //Promise.allSettled  不管成功还是失败都返回成功
        
        function one () {
            return new Promise(function (resolve, reject) {
                setTimeout(function () {
                    resolve('one');
                }, 2000)
            })
        }

        function two () {
            return new Promise(function (resolve, reject) {
                setTimeout(function () {
                    reject('two');
                }, 2000)
            })
        }

        Promise.allSettled([one(), two()]).then(function (res) {
            console.log(res, '<---res');
        })

        //Promise.race
        // function one () {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             resolve('one');
        //         }, 2000)
        //     })
        // }

        // function two() {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             resolve('two');
        //         }, 3000)
        //     })
        // }


        // function three() {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             reject('three');
        //         }, 500)
        //     })
        // }
        
        // Promise.race([one(),two(), three()]).then(function (res) {
        //     console.log(res, '<----res.race');
        // }).catch(function (reason) {
        //     console.log(reason, '<----reason race');
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             resolve('测试');
        //         },3000);
        //     })
        // }).then(function (res) {
        //     console.log(res, '<---');
        // })
        


        //Promise.all
        // function one () {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             resolve('one');
        //         }, 2000)
        //     })
        // }

        // function two() {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             resolve('two');
        //         }, 1000)
        //     })
        // }


        // function three() {
        //     return new Promise(function (resolve, reject) {
        //         setTimeout(function () {
        //             reject('three');
        //         }, 1000)
        //     })
        // }

        // Promise.all([one(), two(), three()]).then(function (res){
        //     console.log(res, '<----res');
        // }).catch(function (reason) {
        //     console.log(reason, '<----reason');
        // })


    </script>
</body>
</html>